package com.linkhub.oms.admin.modules.stock.domain.param;

import com.linkhub.oms.admin.common.enums.StockSortFieldEnum;
import com.linkhub.oms.admin.modules.user.domain.param.BasePageParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @ClassName StockFlowQueryParam
 * @Description 库存流水查询参数
 * @Author XieYu
 * @Date 2024/6/24 22:13
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "StockFlowQueryParam", description = "库存流水查询参数对象")
public class StockFlowQueryParam extends BasePageParam implements Serializable {


    @ApiModelProperty(value = "sku")
    private String sku;

    @ApiModelProperty(value = "业务类型")
    private String businessType;

    @ApiModelProperty(value = "业务单号")
    private String businessNo;

    @ApiModelProperty(value = "仓库名称")
    private String stashName;

    @ApiModelProperty(value = "开始日期")
    private String startDate;

    @ApiModelProperty(value = "结束日期")
    private String endDate;

    @ApiModelProperty(value = "库存状态, 讨论")
    private String status;

    @ApiModelProperty(value = "商家")
    private String merchantUserIds;

    /**
     * @see StockSortFieldEnum
     */
    @ApiModelProperty(value = "排序表头: Fphysical_stock: 实物库存; Fpreemption_stock: 预占库存; Ffrozen_stock: 冻结库存; Fpassage_stock: 在途库存;")
    private String sortField;

    @ApiModelProperty(value = "排序方式: descend: 降序; ascend: 升序; null;")
    private String sortMode;

    // ================= 非前端传值 =============
    @ApiModelProperty(value = "是否客户角色", hidden = true)
    private boolean customerRole;
}